#include <iostream>
#include <fstream>
#include "stdio.h"

#include "VitterHuffmanCodec.h"
#include "HuffmanCodec.h"

using namespace Huffman;


int main(int argc, char* argv[]) {

	std::string inputFile = "input.txt"; //wejsciowy plik
	std::string outputFile = "output.txt"; // wyjsciowy plik - powinien byc taki sam jak wejsciowy
	std::string encodedFile = "encoded.txt"; // zakodowane dane
	
	/* Zrobilem 2 bo mialem wrazenie ze pomiedzy jezeli uzwamy kodera i dekodera to bufory nie sa odpowiednio resetowane */
	/* TODO - mozna to poprawic jezeli konieczne */
	HuffmanCodec* coder = new VitterHuffmanCodec(inputFile, encodedFile);		
	coder -> encode();	
	
	HuffmanCodec* decoder = new VitterHuffmanCodec(encodedFile, outputFile);
	decoder -> decode();

	/*getchar();*/
	return 0;
}
